package com.ycxy.school.express.mapper;

import com.ycxy.school.express.pojo.entity.Address;
import com.ycxy.school.express.pojo.vo.AddressListItemVO;
import com.ycxy.school.express.pojo.vo.AddressStandardVO;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @Author jayLuo
 * @Date 2023/1/5 11:23
 * @PackageName:com.ycxy.school.express.mapper
 * @ClassName: AddressMapper
 * @Description: TODO
 * @Version 1.0
 */
@Repository
public interface AddressMapper {

    /**
     * 插入地址数据
     *
     * @param address
     * @return
     */
    int insert(Address address);

    /**
     * 根据地址id删除地址信息
     *
     * @param id 地址id
     * @return 受影响的行数
     */
    int deleteById(Long id);

    /**
     * 根据地址id修改地址信息
     *
     * @param address
     * @return
     */
    int updateById(Address address);

    /**
     * 根据地址统计地址的数量
     *
     * @param address 地址
     * @return
     */
    int countByAddress(String address,Long userId);

    /**
     * 根据用户id查询地址列表
     * @return
     */
    List<AddressListItemVO> listByUserId(Long userId);

    /**
     * 根据id查询地址详细信息
     *
     * @param id
     * @return
     */
    AddressStandardVO getAddressDetailsById(Long id);
}
